package com.guli.gateway.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;

@Configuration
public class CrosConfig  {

    //解决跨域问题
    @Bean
    public CorsFilter corsFilter(){

        new Thread().start();

        //添加cors配置信息
        CorsConfiguration config = new CorsConfiguration();
        //允许跨域访问的域名 可以配置多个，也可以配置*全部，但是要注意配置了*，cookie就无法使用了
        config.addAllowedOrigin("http://manage.guli.com");
        config.addAllowedOrigin("http://www.guli.com");
        //允许cookie
        config.setAllowCredentials(true);
        //允许所有请求方式访问
        config.addAllowedMethod("*");
        //允许所有头信息
        config.addAllowedHeader("*");
        //拦截所有请求 如果是看是不是跨域请求
        UrlBasedCorsConfigurationSource configurationSource = new UrlBasedCorsConfigurationSource();
        configurationSource.registerCorsConfiguration("/**",config);
        return new CorsFilter(configurationSource);
    }
}
